import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import styleImport from 'vite-plugin-style-import';
import vueJsx from '@vitejs/plugin-vue-jsx';
import { resolve } from 'path';
//开启 gzip 可以极大的压缩静态资源，对页面加载的速度起到了显著的作用
// import viteCompression from 'vite-plugin-compression';
//node version 14+
// import AutoImport from 'unplugin-auto-import/vite'

// https://vitejs.dev/config/
export default defineConfig({

	resolve: {
		alias: {
			'@': resolve(__dirname, 'src'),
			'@assets': resolve(__dirname, 'src/assets'),
			'@components': resolve(__dirname, 'src/components'),
		},
	},
	server: {
		fs: {
			strict: false,
		},
		port: 3000,
		proxy: {
			"/api": {
				target: 'http://api.test.travel.lecent.cn/',
				changeOrigin: true,
				rewrite: (path) => path.replace(/^\/api/, '/')
			},
		}
	},

	plugins: [
		// viteCompression(),
		vue(),
		vueJsx(),

		styleImport({
			libs: [
				{
					libraryName: 'vant',
					esModule: true,
					resolveStyle: name => {
						return `vant/es/${name}/style`;
					},
				},
			],
		}),
	],
});

// AutoImport({
// 	// targets to transform
// 	include: [
// 		/\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
// 		/\.vue$/, /\.vue\?vue/, // .vue
// 		/\.md$/, // .md  
// 	],
// 	// global imports to register
// 	imports: [
// 		// presets
// 		'vue',
// 		'vue-router',
// 		// custom
// 		{
// 			'@vueuse/core': [
// 				// named imports
// 				'useMouse', // import { useMouse } from '@vueuse/core',
// 				// alias
// 				['useFetch', 'useMyFetch'] // import { useFetch as useMyFetch } from '@vueuse/core',
// 			],
// 			'axios': [
// 				// default imports
// 				['default', 'axios'] // import { default as axios } from 'axios',
// 			],
// 			'[package-name]': [
// 				'[import-names]',
// 				// alias
// 				['[from]', '[alias]']
// 			]
// 		}
// 	],
// }),
